Digital imaging devices generally sample a real world object onto a rectangular grid of pixels. Different imaging devices have different spatial configurations of the sampled pixels with respect to the object that is being imaged. For instance, while a camera with a digital sensor will generally have a rectangular array of sensor sites, spatial inaccuracies are introduced by the imaging system of the camera cause the sampled image not to be a faithful reproduction of the spatial configuration of the light that entered the imaging system. A common example of such an inaccuracy is barrel distortion whereby the light to be sampled by the digital sensor of the camera is radially distorted by optical effects caused by compromises made in the design of the lens of the camera.
Another imaging system that introduces spatial distortions is a flatbed scanner. In this case the image is generally sampled by a line (or lines for colour scanners) of sensors that is moved across the platen of the scanner by a drive motor. Flatbed scanners suffer from optical distortions similar to those that affect cameras due to the presence of imaging optics and also suffer from further spatial distortions due to variations in the rate at which the line of sensors is driven across the scanner platen.
The spatial distortions introduced by the imaging optics and sensor package of an imaging device restrict the utility of such imaging devices as tools for measuring the precise position and dimensions of objects imaged by the device. For instance, if there were no spatial distortion in a flatbed scanner, it may be used to accurately measure the relative position between any features on a flat surface placed on the platen of the scanner.
Current methods of accurately measuring positions on a surface include two-dimensional rulers and two-dimensional position code systems.
A two-dimensional ruler is, as its name would suggest, similar in concept to a one dimensional ruler except it is extended to two dimensions. A two-dimensional ruler generally consists of a regular rectangular grid of points or lines at known spacing produced on a transparent substrate using a highly accurate process. The grid points or lines are generally marked with two-dimensional scale labels with varying graduation sizes. Such two-dimensional rulers are used by imaging a feature to be measured through the grid of points or lines, reading off the labels associated with the graduations closest to the feature of interest, and interpolating the position of the feature of interest between the closest grid points or lines. For instance, a current commercially available two-dimensional ruler has a grid of lines spaced at a finest resolution of 1 mm. The lines are nominally accurate to 0.002 mm. Clearly, if the feature of interest lies in between two grid points or lines, the interpolation step introduces inaccuracies into the measurement and limits the precision of the measurement in an undesirable way.
A two-dimensional position code may also be used to determine the position of a feature on a surface. A two-dimensional position code is a set of symbols that is recorded on a medium, with the symbols encoding two-dimensional position on the medium. A variety of position codes are known in the art. One of the known position codes encodes a binary pattern by placing large and small dots on a surface in a rectangular array. A large dot may encode a binary one and a small dot encodes a binary zero. The binary pattern placed on the surface is specially constructed such that given some number of consecutive digits of the pattern in the vertical direction, the absolute position of those digits within the pattern can be determined. A similar scheme is used to encode the horizontal position. These patterns may be used by imaging the feature to be measured through the two-dimensional position code and by decoding the pattern around the position of the feature, thereby revealing its position with respect to the pattern.
The fundamental drawback with the position codes based on the sizes of dots is that, to decode the pattern, it is necessary to be able to discriminate between the different dot sizes to determine the binary pattern which contains the position code. This in general means that each dot in the representation of the position code must be at least a pixel in size after imaging, and often several pixels are covered by the dot. Apart from the possibility of obscuring the feature to be measured, this restricts the accuracy of this method to more than a pixel dimension. Given that the pixel dimension on a good flatbed scanner is around 10 microns, this limits the utility of such position code based systems.